package com.yy.wga.user.service.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yy.wga.user.service.mapper.UserWechatMapper;
import com.yy.wga.user.service.pojo.UserWechatDO;
import com.yy.wga.user.service.service.UserWechatService;
import org.springframework.stereotype.Service;

/**
 * 小程序用户微信信息(UserWechat)表服务实现类
 *
 * @author guochao
 * @since 2022-05-24 21:45:40
 */
@Service
public class UserWechatServiceImpl extends ServiceImpl<UserWechatMapper, UserWechatDO> implements UserWechatService {

    @Override
    public UserWechatDO getByOpenId(String appKey, String openId) {
        return this.getOne(new LambdaQueryWrapper<UserWechatDO>()
                .eq(UserWechatDO::getAppKey, appKey)
                .eq(UserWechatDO::getDeleted, 0)
                .eq(UserWechatDO::getOpenId, openId));
    }

    @Override
    public UserWechatDO getByUnionId(String appKey, String unionId) {
        return this.getOne(new LambdaQueryWrapper<UserWechatDO>()
                .eq(UserWechatDO::getAppKey, appKey)
                .eq(UserWechatDO::getDeleted, 0)
                .eq(UserWechatDO::getUnionId, unionId));
    }

    @Override
    public UserWechatDO getBySharerAppId(String appKey, String sharerAppId) {
        return this.getOne(new LambdaQueryWrapper<UserWechatDO>()
                .eq(UserWechatDO::getAppKey, appKey)
                .eq(UserWechatDO::getDeleted, 0)
                .eq(UserWechatDO::getSharerAppid, sharerAppId));
    }

    @Override
    public UserWechatDO getByUserId(String appKey, Long userId) {
        return this.getOne(new LambdaQueryWrapper<UserWechatDO>()
                .eq(UserWechatDO::getAppKey, appKey)
                .eq(UserWechatDO::getDeleted, 0)
                .eq(UserWechatDO::getUserId, userId));
    }
}
